﻿#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

class MyString
{
	friend ostream& operator<<(ostream& cout, MyString& str);
	friend istream& operator>>(istream& cin, MyString& str);
public:
	MyString(const char* str);
	MyString(const MyString& str);
	~MyString();

	//3.重载=运算符；
	MyString& operator=(const char* str);
	MyString& operator=(const MyString& str);

	//4.重载[]运算符；
	char& operator[](int index);
	//5.重载+运算符；
	MyString operator+(const char* str);
	MyString operator+(const MyString& str);
	//6.重载==运算符；
	bool operator==(const char* str);
	bool operator==(const MyString& str);

private:
	//1.执行堆区的指针；
	char* pString;
	//2.字符串的大小；不包含\0的实际大小；
	int m_Size;
};
